package errs

/*
   响应编码
*/
const (
	// HTTP Status Code
	SUCCESS       = 200 //成功响应请求
	InvalidParams = 400 //请求参数错误
	ERROR         = 500 //错误响应请求
	// 业务状态码
	ErrorUnkown                    = 999   // 未知错误
	ErrorAuthCheckTokenFail        = 10001 // token鉴权失败
	ErrorAuthCheckTokenTimeout     = 10002 // token已过期
	ErrorAuthTokenInvalid          = 10003 // token不合法
	ErrorAuth                      = 10004 // 无效的用户
	ErrorAuthExist                 = 10005 // 用户已存在
	ErrorAuthUsername              = 10006 // 用户名错误
	ErrorAuthPassword              = 10007 // 用户密码错误
	ErrorAuthCache                 = 10008 // 授权失败(服务器缓存异常)
	ErrorAuthAction                = 10009 // 尝试非法操作(使用自己的令牌操作其他人的数据)
	ErrorAuthInfo                  = 10010 // 用户登录信息错误
	ErrorParameterValidate         = 10011 // 参数验证失败!
	ErrorRefreshTokenInvalid       = 10012 // Refresh token is invalid
	ErrorRoleNotExist              = 10023 // 角色不存在
	ErrorAdminNotExist             = 10024 // 管理员不存在
	ErrorModulePageNotExist        = 10025 // 页面不存在
	ErrorSpecificationNotExist     = 20011 // "规格不存在！"
	ErrorSpecificationAttrNotExist = 20015 // "规格属性不存在！"
	ErrorGoodsNotExist             = 20016 // "商品不存在！"
	ErrorSKUNotExist               = 20017 // "SKU不存在！"
	ErrorGoodsOfCartNotExist       = 20022 // "购物车商品不存在！"
	ErrorGridCategoryNotExist      = 20013 // "宫格不存在！"
	ErrorCategoryNotExist          = 20012 // 分类不存在
	ErrorCategoryExist             = 20014 // 分类已存在
	ErrorUploadSaveImageFail       = 30001 // 保存图片失败
	ErrorUploadCheckImageFail      = 30002 // 检查图片失败
	ErrorUploadCheckImageFormat    = 30003 // 校验图片错误，图片格式或大小有问题
	ErrorBannerNotExist            = 40011 // Banner不存在!
	ErrorWechatTokenInvalid        = 60008 // Token is invalid
	ErrorWechatInterval            = 60007 // 微信内部异常!
	ErrorMiniappUserNotExist       = 60026 // 用户不存在
	ErrorAddressNotExist           = 60020 // 收货地址不存在!
	ErrorOrderNotExist             = 80001 // 订单不存在!
	ErrorOrderRefundNotExist       = 80002 // 退款单不存在
	ErrorOrderGoodsNotExist        = 80003 // 订单中的商品不存在，可能已被删除
	ErrorOrderUnpayed              = 80004 // 订单还未支付，却尝试发货
	ErrorOrderPayed                = 80005 // 订单已支付过
	ErrorCouponNotExist            = 90001 // "优惠券不存在！"
)

/*
   编码消息
*/
var MsgFlags = map[int]string{
	SUCCESS:                        "ok",
	InvalidParams:                  "请求参数错误",
	ERROR:                          "服务器内部错误",
	ErrorUnkown:                    "未知错误",
	ErrorAuthCheckTokenFail:        "token鉴权失败",
	ErrorAuthCheckTokenTimeout:     "token已过期",
	ErrorAuthTokenInvalid:          "token不合法",
	ErrorAuth:                      "无效的用户",
	ErrorAuthExist:                 "用户已存在",
	ErrorAuthUsername:              "用户名错误",
	ErrorAuthPassword:              "用户密码错误",
	ErrorAuthCache:                 "授权失败(服务器缓存异常)",
	ErrorAuthAction:                "尝试非法操作(使用自己的令牌操作其他人的数据)",
	ErrorAuthInfo:                  "用户登录信息错误",
	ErrorParameterValidate:         "参数验证失败！",
	ErrorRefreshTokenInvalid:       "Refresh token is invalid",
	ErrorRoleNotExist:              "角色不存在",
	ErrorAdminNotExist:             "管理员不存在",
	ErrorModulePageNotExist:        "页面不存在！",
	ErrorSpecificationNotExist:     "规格不存在！",
	ErrorSpecificationAttrNotExist: "规格属性不存在！",
	ErrorGoodsNotExist:             "商品不存在！",
	ErrorSKUNotExist:               "SKU不存在！",
	ErrorGoodsOfCartNotExist:       "购物车商品不存在！",
	ErrorGridCategoryNotExist:      "宫格不存在！",
	ErrorCategoryNotExist:          "分类不存在！",
	ErrorCategoryExist:             "分类已存在！",
	ErrorUploadSaveImageFail:       "保存图片失败",
	ErrorUploadCheckImageFail:      "检查图片失败",
	ErrorUploadCheckImageFormat:    "校验图片错误，图片格式或大小有问题",
	ErrorBannerNotExist:            "Banner不存在！",
	ErrorWechatTokenInvalid:        "Token is invalid",
	ErrorWechatInterval:            "微信内部异常!",
	ErrorMiniappUserNotExist:       "用户不存在",
	ErrorAddressNotExist:           "收货地址不存在！",
	ErrorOrderNotExist:             "订单不存在！",
	ErrorOrderRefundNotExist:       "退款单不存在",
	ErrorOrderGoodsNotExist:        "订单中的商品不存在，可能已被删除",
	ErrorOrderUnpayed:              "订单还未支付，却尝试发货",
	ErrorOrderPayed:                "订单已支付过",
	ErrorCouponNotExist:            "优惠券不存在！",
}

/*
   根据传入的编码。获取对应的编码消息
*/
func GetMsg(code int) string {
	msg, ok := MsgFlags[code]
	if ok {
		return msg
	}
	return MsgFlags[ERROR]
}
